package com.yx.study.leet.primary.other;

import java.util.ArrayList;
import java.util.List;

/**
 * @Classname Generate
 * @Date 2023/02/12 23:17
 * @Author by yx
 * @Description : 杨辉三角
 * https://leetcode.cn/leetbook/read/top-interview-questions-easy/xncfnv/
 */
public class Generate {
    /**
     * 杨辉三角
     * 每一行的元素数量等于行号（行号从1开始）
     * 每一行的第一位和最后一位为1
     * 每一行除首位元素之外: 节点为上一行两个节点之和
     * */
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        List<Integer> row = new ArrayList<>();
        for (int i = 0; i < numRows; i++) {
            // 每行第一个位置为1
            row.add(0,1);
            //
            for (int j = 1; j < row.size()-1; j++) {
                row.set(j,row.get(j)+row.get(j+1));
            }
            res.add(new ArrayList<>(row));
        }
        return res;
    }
}
